This file contains all the info about changes in LEdit VCL wrapper from 
version 1.01 up to latest available version.

Changes in version 2.05 compared to version 2.04
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Created a Delphi 3 version of LEdit.

- Changed the FileMask property from a ShortString to
  String so the property editor would work in Delphi 3.

- Fixed a bug where LoadFromFile did not work in a Forms 
  OnCreate event when HasFile was set to True.

- Fixed a bug in the GetLineStr method that was causing the
  view to not get set back to the original position after
  getting the string.

- Changed the initial values of the StartLine and EndLine
  properties from 0 to 1 to reflect the true starting values
  for these properties.

- Changed the default for BookmarksMax from 1 to 16 so it
  matches the documentation.

- Added the OnNotifyEvent.

Changes in version 2.04 compared to version 2.03
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Fixed a bug where DefaultExt would allow an extension of
  more than 3 characters.

- Fixed a bug where some syntax settings were not getting
  initialized properly.

Changes in version 2.03 compared to version 2.02
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Added the QuietFind function.

- Added the WrapKeys property.

- Added the GetLocation function.

Changes in version 2.02 compared to version 2.01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Fixed a bug in the data aware VCL where it showed an error when
  it was moved to a blank record in the database.

- Fixed a potential memory leak in the Text and SelText properties 
  in the 32-bit version. Made proper use of Delphi 2 long strings 
  in these two properties.

- Added the compiler directive to turn on long strings (H+) in 
  the 32-bit version.

- Fixed a bug with the grouping and find methods.

- Fixed a bug in the DeleteLine method where it would not delete
  the last line in LEdit.

- Fixed a bug in the Set3DBorder method to check for HandleAllocated 
  before doing anything else. This was causing a GPF in MDI child 
  windows.

- Updated the examples to show most of the new features in V2.

- Added NoPrintDialog, and NoPrintProgress properties.

- Added SetDialogLocation and GetDialogLocation methods.

- Fixed a bug with the HasFile property. This was causing the File menu
  to reappear when changing the parent of the LEdit control.

- Added DefaultExt property to fix problem where .txt was getting added 
  to all filenames.

- Fixed a bug in the OnWordClick event where it was not returning the 
  result.

- Fixed a bug where the OnChange event was only firing while the 
  component was being created instead of after it was created.

- Added TCanvas parameter to the NextPage function to match DLL. This
  was to fix a bug while printing (see LEDLP__U.TXT). Unfortunately
  this could not be fixed and still maintian backwards compatibility
  with the NextPage method.

- Added the TranslateLocation method to translate screen coordinates 
  to the LEdit position.

Changes in version 2.01 compared to version 2.00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Added the GetWrapLine, GetWrapLineLength, and GetWrapCount functions.

Changes in version 2.00 compared to version 1.08
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Created a new component to contain the data aware capabilities.
  Move all the data awareness code to the new component.

- Added BookmarksMax design-time property to correspond to 
  EM_SETBMLIMIT message. This property ranges from 1 to 256.

- Added HighlightedLine and HighlightedPos run-time read-only
  properties to correspond to new EM_HIGHLIGHTEDLINE and
  EM_HIGHLIGHTEDPOS messages. These only make sense if Highlight
  is set to True. Otherwise they just return 0.

- Added PrintedPageNum run-time read-only property to correspond
  to new EM_PRINTEDPAGE message. It returns the page number being
  printed if LEdit is printing something. Otherwise it returns 0.

- Added WordWrap, WordWrapAuto and WordWrapWidth design-time 
  properties to correspond with EM_SETWORDWRAP message. Handles 
  word wrapping.

- Added ExtraComments and Item2AsComment design-time properties.
  These allow extra comment types to be defined in the Syntax
  property. Corresponds to EMP_EXTRACOMMENTS and EMP_ITEM2ASCOMMENT.

- Added MultiLineStrings and SingleLineStrings design-time
  properties to correspond to EMP_MULTILINESTRINGS and
  EMP_SINGLELINESTRINGS.

- Added WordWrapRMargin design-time property to correspond with
  new values allowed in EM_GETMETRICS and EM_SETMETRICS. Allows
  the right extra margin to be set with word wrap.

- Added PageHeight, PageWidth, PageWordWrapWidth, PageFirstLine,
  and PageSkip run-time properties to fill the TDrawPage structure 
  that is used by the DrawPage and NextPage methods. These must be
  set before calling DrawPage.

- Added Skip property to correspond with the EM_GETSKIP message.
  This gets the skip value and sets the skip value for the 
  FirstVisibleLine property (EM_SCROLLVERTICALLY message).

- Added CaretWidth property to correspond with the EM_SETCARETWIDTH
  message. This allows the width of the carat to be set.

- Made the FirstVisibleLine and FirstVisiblePos properties writable.
  Corresponds to the EM_SCROLLHORIZONALLY and EM_SCROLLVERTICALLY
  messages.

- Added DrawPage and NextPage methods to correspond with EM_DRAWPAGE
  and EM_NEXTPAGE messages. These allow LEdit to be drawn on any
  device context.

- Added Print and PrinterSetup methods to correspond to new
  EC_FILEPRINT/EC_FILEPRINTERSETUP commands.

- Added OnPrintPage event to correspond to the EM_PRINT message. 
  It allows the user to paint a header and footer on the page to 
  be printed.

- Added OnWordBreak event to correspond to EM_WORDWRAP message.
  Handles custom word wrapping.

- Added new values to Syntax property to allow for new Syntax
  settings. 3+char and 4+char can now be specified to set items
  #3 and #4 of cSecond field of TSyntax record.

- Added AutoDisplay, DataAware, DataField, DataSource, Field
  properties to make the Data Aware component.

Changes in version 1.08 compared to version 1.07
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Fixed a bug, introduced in V1.07, in the LoadFromFile and SaveToFile 
  methods that caused LEdit to crash.

- Fixed the 3D border drawing to work exactly the same as TMemo.

- New EM_EX_UNDO constant used instead of erroneous EM_UNDO.

Changes in version 1.07 compared to version 1.06
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Changed ShortString to String in the OnControlHighlight, OnFindBrace,
  and OnWordClick events to make the 16-bit and 32-bit versions 
  completely compatible.

- Changed ShortString to String in the FileName property and the
  LoadFromFile, SaveToFile, AddStr, InsertStr, InsertStrPos, GetLineStr,
  and GetStr methods to make the 16-bit and 32-bit versions completely
  compatible and provide more speed and power to the 32-bit version.

- Redefined HDC to Integer in the 16-bit version to make the 16-bit
  and 32-bit versions compatible.

- Fixed a bug where Windows NT could not find the LEdit DLL.

- Fixed a bug where the AddStr method would not add text if LEdit was 
  empty. 

- Added LFocus property to allow the user to specify if the AddStr,
  InsertStr, InsertStrPos methods should set focus to LEdit after 
  these methods are complete.

- Added new constants for some standard EM_* messages (EM_EX*) to
  fix problems on some foreign PC's.

- Fixed a bug with the Text property in the 32-bit version to allow
  it to be cleared at design time.

- Fixed a bug with the TabStopSize property to allow it to be set.

- Fixed a bug that caused accelerator keys on a button to leave LEdit
  and perform the accelerator action when pressing Shift+Accelerator
  Key. This would not allow capital letters to be entered into LEdit
  if a button with an accelerator key was placed on the form.

- Changed the 32-bit version to use the new 32-bit 'Windows' unit 
  instead of the 'WinProcs' and 'WinTypes' units.

Changes in version 1.06 compared to version 1.04
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- LEdit VCL adjusted to follow new protocol in LEDIT.DLL V1.06
  to be workable under Windows NT.

- Fixed a bug with the AddStr method to allow it to work with text
  larger than 64K.

- Fixed a bug where some design time properties were not automatically
  getting set at runtime.

Changes in version 1.04 compared to version 1.03
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Fixed a bug in the DoFindBrace method where it was copying the
  previous string back into the WordDesc record.

- Changed the TLEBraceStyle options from bs to br to avoid conflicts
  standard Delphi 2 types.

- Changed the BorderStyle, CanChangeFile, CanChangeFont, HasFile, 
  PaintMode, ScrollBars, HasMenu, Highlight, ExtraVertSpacing, 
  and ExtraHorzSpacing properties so they can be set at runtime.

- Fixed a bug in the GetString procedure to check for a Nil pointer 
  and return a null string if the pointer is Nil.

- MsgResult property introduced.

- MacStyleSave property introduced.

- StartInComments property introduced.

- Find, Replace, and ReplaceAll runtime functions introduced.

- SearchFindString, SearchReplaceString, SearchDirection, 
  SearchWholeWords, and SearchMatchCase runtime properties 
  introduced.

Changes in version 1.03 compared to version 1.02
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- VCL made to work with V1.03 of the LEdit DLL which mimics the 
  32-bit version. This is to help if you are planning to upgrade
  eventually to the 32-bit version.

- Added TextHandle and SelTextHandle properties for compatibility
  with the 32-bit version.

Changes in version 1.02 compared to version 1.01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- GroupNumber property introduced.

- UnixStyleSave property introduced.

- CurrentWordAsText property introduced.

- MultilineItems property introduced.

- BookmarkNumber, BookmarkLine, BookmarkAttr, BookmarkBackColor and
  BookmarkForeColor runtime properties introduced.

- GotoBookmark and SetBookmarkNum runtime procedures introduced.

- AddStr, InsertStr, InsertStrPos, GetStr, GetLineStr and 
  DeleteLine runtime line procedures introduced.
